<?php
/**
 * CRUD de premios
 * 
 * @author Vinicius Rodrigues (viniciusmr3@gmail.com)
 * @since 22/11/2012
 */
//necessário para todas as páginas do admin (facilitador)
include("defaultAdmin.php");
require_once(PASTA_DAO."Premio.class.php");

//verificação se o usuário esta logado, cado contrário, este será redirecionado para o login.
if($objUsrSession->getIdAdministrador() == 0){
	HttpUtil::vaiPara("login.php?msg=1");
}


/**
 * VERIFICAÇÃO DA TELA QUE SERÁ EXIBIDA
 */
 if(!isset($_GET["id"]))
	$id = "";
else
	$id = (int)$_GET["id"];
if(!is_numeric($id) || $id == 0 || $id=="") 
	$id = null;
$objCtrlSmarty->assign("id_premio",$id);
$objPremio = new Premio();
if(!isset($_GET["a"]))
	$_GET["a"] = "";
switch ($_GET["a"]){
	case 'form':
		if(isset($id)){
			//busco os dados do banco
			$arrCampos = $objPremio->buscaCampos($id);
		
			//seto no formulário os valores dos campos automaticamente
			foreach ($arrCampos as $nomeCampo => $fieldData) {
				switch ($nomeCampo){
					case "img_noticia":
						if(isset($fieldData) && $fieldData!=""){
							$objCtrlSmarty->assign($nomeCampo."_thumb",base64_encode(serialize(array("img"=>utf8_encode($fieldData), "w"=>"415","h"=>"100", "filename" => PASTA_UPLOADS_ARQUIVOS."premio/"))));
							$objCtrlSmarty->assign($nomeCampo,base64_encode(serialize(array("img"=>utf8_encode($fieldData), "w"=>"600","h"=>"400", "filename" => PASTA_UPLOADS_ARQUIVOS."premio/"))));
						}
					break;
					default:
						$objCtrlSmarty->assign($nomeCampo,utf8_encode($fieldData));
					break;
				}
			}
		}
		$objCtrlSmarty->assign("CONTEUDO_ADMIN",$objCtrlSmarty->fetch(TPLS_FILE."admin/formPremios.tpl"));
		break;
	case 'post':
		try{
			//validação preguiça de fazer em javascript
			$arrErros = array();
			if($_POST["id_cidade"]=="")
				$arrErros["MENS_ERRO_CIDADE"] = "A cidade é obrigatória";
			if($_POST["id_credenciado"]=="")
				$arrErros["MENS_ERRO_CREDENCIADO"] = "O estabelecimento é obrigatório";
			if($_POST["titulo_premio"]=="")
				$arrErros["MENS_ERRO_TITULO"] = "O título é obrigatório";
				
			
			//fim validação dos dados
			
			if(count($arrErros) == 0){
				$id = (int)$_POST["id_premio"];
				if(!is_numeric($id) || $id == 0 || $id=="") 
					$id = null;
					
				$_POST["status"] = "A";
				$objPremio->alterar($id,$_POST,$_FILES);
				HttpUtil::vaiPara("CrudPremios.php?msg=3");
			}else{
				//loop para preencher, em caso de erro, o formulário
				foreach ($_POST as $nomeCampo => $fieldData) {
					$objCtrlSmarty->assign($nomeCampo,utf8_encode($fieldData));
				}
				//loop para setar os lugares com os erros
				foreach ($arrErros as $nomeErro => $conteudo) {
					$objCtrlSmarty->assign($nomeErro,$conteudo);
				}
				//exibo o form aqui
				$objCtrlSmarty->assign("CONTEUDO_ADMIN",$objCtrlSmarty->fetch(TPLS_FILE."admin/formPremios.tpl"));
			}
		}catch(CustonException $e){
			HttpUtil::vaiPara("CrudPremios.php?msg=5");
		}
		break;
	case 'excluir':
		try{	
			$arrCampos = $objPremio->buscaCampos($id);
		
			//altera o status e seta a senha do usuario
			$arrCampos["status"] = "E";
			
			$objPremio->alterar($id,$arrCampos,null);
			
			//$objUsuario->deletar($id);
			HttpUtil::vaiPara("CrudPremios.php?msg=4");
		}catch(CustonException $e){
			throw new CustonException("O registro não pode ser excluído. ");
		}
		break;
	case 'lista':
	default:
		if($_GET["msgE"] == "S")
			$objCtrlSmarty->assign("MSG_ERRO", "S");
		
		if(isset($_GET["p"]) && $_GET["p"]!="" && is_numeric($_GET["p"]))
			$pagAtual = (int)$_GET["p"];
		else 
			$pagAtual = 0;	
		$objCtrlSmarty->assign("pagAtual", $pagAtual);
		$objCtrlSmarty->assign("CONTEUDO_ADMIN",$objCtrlSmarty->fetch(TPLS_FILE."admin/listaPremios.tpl"));
	break;	
}

//definição da estrutura do admin <cabecalho, corpo e rodape>
$objCtrlSmarty->assign("ESTRUTURA",$objCtrlSmarty->fetch(TPLS_FILE."admin/adminEstrutura.tpl"));

//ultima coisa que deve ter no arquivo, serve para imprimir a tela
$objCtrlSmarty->display(TPLS_FILE."index.tpl");
?>